package me.zhengjie.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import me.zhengjie.vo.merge.MergeCreateResponseVo;
import me.zhengjie.vo.merge.MergeResponseVo;
import me.zhengjie.dao.StoreTotalDao;
import me.zhengjie.vo.merge.MergeRequestVo;
import me.zhengjie.vo.task.TaskViewQueryCriteria;
import me.zhengjie.vo.task.TaskViewVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface StoreTotalMapper {

    List<StoreTotalDao> findIdentityList(
            @Param("isAuxiliaryMaterials") Integer isAuxiliaryMaterials,
            @Param("goodType") String goodType,
            @Param("floor") String floor,
            @Param("isCodeNull") Integer isCodeNull,

            @Param("entryTime") LocalDateTime entryTime,
            @Param("materialCode") String materialCode,
            @Param("manufacturers") String manufacturers,
            @Param("materialCategory") String materialCategory
            );

    List<MergeResponseVo> findMergeStoreMaterial(MergeRequestVo mergeRequestVo);


    Page<MergeCreateResponseVo> findMergeAvailableMaterial(Page<MergeCreateResponseVo> page, @Param("requestVo") MergeRequestVo requestVo);

    IPage<TaskViewVo> queryAllTaskStatusChange(TaskViewQueryCriteria criteria, Page<Object> page);
}
